#include "../include/test.h"

// 冒泡排序函数
void Test::bubbleSort(std::vector<int>& arr) 
{
    int n = arr.size();
    for (int i = 0; i < n - 1; ++i) {
        // 标志位，用于检测当前循环是否有元素交换
        bool swapped = false;
        for (int j = 0; j < n - 1 - i; ++j) {
            if (arr[j] > arr[j + 1]) {
                // 交换元素
                std::swap(arr[j], arr[j + 1]);
                swapped = true;
            }
        }
        // 如果没有元素交换，说明数组已经有序，提前退出
        if (!swapped) {
            break;
        }
    }
}

int main() 
{
    // 定义一个整数数组
    std::vector<int> arr = {64, 34, 25, 12, 22, 11, 90};

    // 输出排序前的数组
    std::cout << "排序前的数组: ";
    for (int num : arr) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    Test test;
    // 调用冒泡排序函数
    test.bubbleSort(arr);

    // 输出排序后的数组
    std::cout << "排序后的数组: ";
    for (int num : arr) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}


